/*
 * AIEngine a new generation network intrusion detection system.
 *
 * Copyright (C) 2013-2023  Luis Campo Giralte
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
 * Boston, MA  02110-1301, USA.
 *
 * Written by Luis Campo Giralte <luis.camp0.2009@gmail.com> 
 *
 */
#ifndef SRC_PYTHON_HELP_H_
#define SRC_PYTHON_HELP_H_

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

const char *help_stack_name = 			"Gets the name of the Stack.";
const char *help_stack_stats_level = 		"Gets/Sets the number of statistics level for the stack (1-5).";
const char *help_stack_flows_timeout = 		"Gets/Sets the timeout for the TCP/UDP Flows of the stack";
const char *help_stack_tcp_flows = 		"Gets/Sets the maximum number of Flows to be on the cache for TCP traffic.";
const char *help_stack_udp_flows = 		"Gets/Sets the maximum number of Flows to be on the cache for UDP traffic.";
const char *help_stack_tcp_regex_manager = 	"Gets/Sets the TCP RegexManager for TCP traffic.";
const char *help_stack_udp_regex_manager = 	"Gets/Sets the UDP RegexManager for UDP traffic.";
const char *help_stack_tcp_ip_set_manager = 	"Gets/Sets the TCP IPSetManager for TCP traffic.";
const char *help_stack_udp_ip_set_manager = 	"Gets/Sets the UDP IPSetManager for UDP traffic.";
const char *help_stack_link_layer_tag = 	"Gets/Sets the Link layer tag for Vlans,Mpls encapsulations.";
const char *help_stack_tcp_flow_manager = 	"Gets the TCP FlowManager for iterate over the Flows.";
const char *help_stack_udp_flow_manager = 	"Gets the UDP FlowManager for iterate over the Flows.";
const char *help_operation_mode = 		"Sets the operation mode of the Stack (full, frequency, nids).";
const char *help_increase_alloc_mem = 		"Increase the allocated memory for a protocol given as parameter.";
const char *help_decrease_alloc_mem = 		"Decrease the allocated memory for a protocol given as parameter.";
const char *help_set_domain_name_manager = 	"Sets a DomainNameManager on a specific protocol (HTTP,SSL or DNS).";
const char *help_set_tcp_database_adaptor = 	"Sets a databaseAdaptor for TCP traffic.";
const char *help_set_udp_database_adaptor = 	"Sets a databaseAdattor for UDP traffic.";
const char *help_release_cache = 		"Release the cache of a specific protocol.";
const char *help_releases_caches = 		"Release all the caches.";
const char *help_get_counters = 		"Gets the counters of a specific protocol on a python dict.";
const char *help_get_cache = 			"Gets the internal Cache objet by protocol and name.";
const char *help_stack_get_cache_data = 	"Gets the data of a cache and protocol on a dict object.";
const char *help_anomaly_callback = 		"Sets a callback for specific anomalies on the given protocol.";
const char *help_show_statistics_proto =	"Shows the statistics of a given protocol.";
const char *help_show_statistics =		"Shows the statistics of the stack.";
const char *help_show_flows = 			"Shows the active flows on memory.";
const char *help_show_anomalies =    		"Shows the anomalies of the traffic.";
const char *help_enable_protocol =		"Enable the protocol on the stack.";
const char *help_disable_protocol =		"Disable the protocol from the stack.";
const char *help_reset_counters =		"Reset the values of the protocol counters.";
const char *help_attach_to = 			"Attach a flow Object to a given protocol.";
const char *help_fail_cache_callback = 		"Sets a callback for cache fails on the given protocol.";

const char *help_regex_expression = 		"Gets the regular expression.";
const char *help_regex_name = 			"Gets the name of the regular expression.";
const char *help_regex_matchs = 		"Gets the number of matches of the regular expression.";
const char *help_regex_callback = 		"Gets/Sets the callback function for the regular expression.";
const char *help_regex_next_regex = 		"Gets/Sets the next regular expression that should match.";
const char *help_regex_next_regex_manager = 	"Gets/Sets the next RegexManager for assign to the Flow when a match occurs.";
const char *help_regex_write_packet = 		"Forces to write the payload that matchs the Regex on a DatabaseAdaptor object.\n"
						"The DatabaseAdaptor configured will receive a JSON field called packet\n"
						" with the payload that matches the Regex.";

const char *help_pdis_status =			"Gets the status of the PacketDispatcher.";
const char *help_pdis_packets =			"Gets the total number of packets process by the PacketDispatcher.";
const char *help_pdis_received_packets =	"Gets the total number of packets received by the PacketDispatcher.";
const char *help_pdis_dropped_packets =		"Gets the total number of packets dropped by the PacketDispatcher.";
const char *help_pdis_ifdropped_packets =	"Gets the total number of packets dropped by the network device.";
const char *help_pdis_bytes =			"Gets the total number of bytes process by the PacketDispatcher.";
const char *help_pdis_enable_shell =		"Gets/Sets a python shell in order to interact with the system on real time.";
const char *help_pdis_stack =			"Gets/Sets the Network stack that is running on the PacketDispatcher.";	
const char *help_pdis_pcap_filter =		"Gets/Sets a pcap filter on the PacketDispatcher";
const char *help_pdis_evidences =		"Gets/Sets the evidences for make forensic analysis.";
const char *help_pdis_log_user_commands =	"Enables or disable the generation of user command line log files.";
const char *help_pdis_open =			"Opens a network device or a pcap file for analysis.";
const char *help_pdis_close =			"Closes a network device or a pcap file.";
const char *help_pdis_run =			"Start to process packets.";
const char *help_pdis_forward_packet =		"Forwards the received packet to a external packet engine(Netfilter).";
const char *help_pdis_add_timer =		"Sets a timer for manage periodically tasks (DDoS checks, abuse, etc...).";
const char *help_pdis_remove_timer =		"Removes a timer.";
const char *help_pdis_is_packet_accepted =	"Returns if the packet should be accepted or not (for integration with Netfilter).";
const char *help_pdis_show_packet =		"Shows the current packet that is been processed.";
const char *help_pdis_show =			"Shows the current statistics.";
const char *help_pdis_http_port =               "Gets/Sets the HTTP port for listening incoming connections.";
const char *help_pdis_http_address =            "Gets/Sets the HTTP IP address for listening incoming connections.";
const char *help_pdis_authorized_ip_address =   "List of IP address that are authorized to connect the HTTP interface.";
const char *help_pdis_show_process_system = 	"Shows the system statistics of the running process.";
const char *help_pdis_pcap_files_duration =	"Retrieves the duration in seconds of the pcap files.";
const char *help_pdis_net_callback =		"Sets/Gets a function handler for detect changes on the network device.";
const char *help_pdis_device_status =		"Gets the network device status (up|down).";
const char *help_pdis_pcap_buffer_size =	"Gets/Sets the pcap internal buffer size for network devices.";
const char *help_pdis_auth_code_token =		"Gets/Sets the HTTP authorization code token.";
const char *help_pdis_alarm_callback =		"Gets/Sets the function callback for manange data alarms.";
const char *help_pdis_log_rest_code =		"Enables/disabled the Rest API python code on files for auditing.";

const char *help_regex_manager_iter =		"Iterate over the Regex stored on the RegexManager object.";
const char *help_regex_manager_name = 		"Gets/Sets the name of the RegexManager.";
const char *help_regex_manager_add_regex =	"Adds a Regex object to the RegexManager.";
const char *help_regex_manager_remove_regex =	"Removes one or multiple Regexs objects from the RegexManager.";
const char *help_regex_manager_len =		"Gets the total number of Regex stored on the RegexManager object.";	
const char *help_regex_manager_show =		"Shows the Regexs stored on the RegexManager.";
const char *help_regex_manager_show_name =	"Shows the Regexs stored on the RegexManager by name.";
const char *help_regex_manager_show_matchs =	"Shows the Regexs that have been matched.";
const char *help_regex_manager_callback =       "Gets/Sets the callback function for the RegexManager for regular expressions that matches.";
const char *help_regex_manager_reset =       	"Resets the values of the statistics of matches.";

const char *help_flow_manager_iter =		"Iterate over the Flows stored on the FlowManager object.";
const char *help_flow_manager_len =		"Gets the number of Flows stored on the FlowManager.";
const char *help_flow_manager_flows =		"Gets the number of Flows stored on the FlowManager.";
const char *help_flow_manager_process_flows =	"Gets the total number of process Flows.";
const char *help_flow_manager_timeout_flows =	"Gets the total number of Flows that have been expired by the timeout.";
const char *help_flow_manager_show_flows = 	"Shows the active flows on memory.";
const char *help_flow_manager_show_flows_pr = 	"Shows the active flows on memory given a protocol type.";
const char *help_flow_manager_flush = 		"Retrieve the active flows to their correspondig caches and free the flow resources.";
const char *help_flow_manager_timeout = 	"Gets/Sets the flows timeout.";
const char *help_flow_manager_purge = 		"Release the flows that has been expired by the timeout.";
const char *help_flow_manager_stats = 		"Shows statistics of the FlowManager.";

const char *help_flow_protocol =		"Gets the protocol of the Flow (tcp,udp).";
const char *help_flow_dst_port =		"Gets the destination port of the Flow.";
const char *help_flow_src_port =		"Gets the source port of the Flow.";
const char *help_flow_dst_ip =			"Gets the destination IP address.";
const char *help_flow_src_ip =			"Gets the source IP address.";
const char *help_flow_packets_layer7 = 		"Gets the total number of layer7 packets.";
const char *help_flow_packets =			"Gets the total number of packets on the Flow.";
const char *help_flow_up_packets =		"Gets the total number of upstream packets on the Flow.";
const char *help_flow_down_packets =		"Gets the total number of downstream packets on the Flow.";
const char *help_flow_bytes = 			"Gets the total number of bytes.";
const char *help_flow_up_bytes = 		"Gets the total number of upstream bytes.";
const char *help_flow_down_bytes = 		"Gets the total number of downstream bytes.";
const char *help_flow_have_tag =		"Gets if the Flow have tag from lower network layers."; 
const char *help_flow_reject =			"Gets/Sets the reject of the connection.";
const char *help_flow_tag =			"Gets the tag from lower network layers."; 
const char *help_flow_evidence =		"Gets/Sets the evidence of the Flow for make forensic analysis."; 
const char *help_flow_accept =			"Accepts or drops the packet if there is a external engine (Netfilter)."; 
const char *help_flow_label =			"Gets/Sets the label of the Flow (external labeling)."; 
const char *help_flow_duration =		"Gets the duration on secs of the Flow."; 
const char *help_flow_ip_set = 			"Gets the IPSet Info of the Flow if is part of an IPSet."; 
const char *help_flow_http_info =		"Gets the HTTPInfo if the Flow is HTTP."; 
const char *help_flow_sip_info =		"Gets the SIPInfo if the Flow is SIP.";	
const char *help_flow_smtp_info = 		"Gets the SMTP Info if the Flow is SMTP.";	
const char *help_flow_pop_info = 		"Gets the POP Info if the Flow is POP.";	
const char *help_flow_imap_info = 		"Gets the IMAP Info if the Flow is IMAP.";	
const char *help_flow_frequencies =		"Gets a map of frequencies of the payload of the Flow."; 	
const char *help_flow_packet_frequencies =	"Gets the packet frequencies of the Flow."; 	
const char *help_flow_ssl_info = 		"Gets a SSLInfo object the Flow is SSL.";	
const char *help_flow_dns_info = 		"Gets a DNSInfo object if the Flow is a DNS.";	
const char *help_flow_ssdp_info =		"Gets a SSDPInfo object if the Flow is SSDP.";	
const char *help_flow_bitcoin_info =		"Gets a BitcoinInfo object if the Flow is Bitcoin.";	
const char *help_flow_coap_info =		"Gets a CoAPInfo object if the Flow is CoAP.";	
const char *help_flow_mqtt_info =		"Gets a MQTTInfo object if the Flow is MQTT.";	
const char *help_flow_netbios_info =		"Gets a NetbiosInfo object if the Flow is Netbios.";	
const char *help_flow_dhcp_info =		"Gets a DHCPInfo object if the Flow is DHCPv4.";	
const char *help_flow_smb_info =		"Gets a SMBInfo object if the Flow is Samba.";	
const char *help_flow_dhcp6_info =		"Gets a DHCPv6Info object if the Flow is DHCPv6.";	
const char *help_flow_ssh_info =		"Gets a SSHInfo object if the Flow is SSH.";	
const char *help_flow_dcerpc_info =		"Gets a DCERPCInfo object if the Flow is DCERPC.";	
const char *help_flow_dtls_info =		"Gets a DTLSInfo object if the Flow is DTLS.";	
const char *help_flow_regex =			"Gets the regex if the Flow have been matched with the associated regex.";	
const char *help_flow_regex_manager =		"Gets/Sets the RegexManager.";	
const char *help_flow_payload = 		"Gets a list of the bytes of the payload of the Flow.";	
const char *help_flow_anomaly =			"Gets the attached anomaly of the Flow."; 		 	
const char *help_flow_l7_protocol_name =	"Gets the name of the Protocol of L7 of the Flow.";
const char *help_flow_quic_info = 		"Gets the QuicInfo object if the Flow is Google Quic.";
const char *help_flow_upstream_ttl = 		"Returns the IP.TTL last packet of upstream.";
const char *help_flow_downstream_ttl = 		"Returns the IP.TTL last packet of downstream.";
const char *help_flow_tcp_info = 		"Gets a TCPInfo object if the Flow is TCP.";
const char *help_flow_detach =  		"Detach the flow from the current protocol.";
const char *help_flow_direction =  		"Gets the direction of the flow (upstream, downstream).";
const char *help_flow_alerted =			"Marks the flow for send and alarm over IPCS queue.";

const char *help_dtls_pdus =			"Gets the total number of encrypted PDUs.";
const char *help_dtls_version =			"Gets the DTLS version of the flow.";

const char *help_quic_host_name =		"Gets the server name from the QuicInfo object.";
const char *help_quic_user_agent = 		"Gets the User Agent from the QuicInfo object.";
const char *help_quic_matched_domain_name = 	"Gets the matched DomainName object.";

const char *help_dcerpc_uuid =			"Returns the UUID of DCERPC Flow.";

const char *help_ssh_encrypted_bytes =		"Returns the number of encrypted bytes of the Flow.";
const char *help_ssh_server_name =		"Returns the name of the SSH server agent.";
const char *help_ssh_client_name =		"Returns the name of the SSH client agent.";

const char *help_dhcp6_info_name =		"Gets the Host name from the DHCPv6Info object.";
const char *help_dhcp6_info_ip =		"Returns the IP address from the DHCPv6Info object.";

const char *help_smb_file_name =		"Gets the filename from the SMBInfo object.";

const char *help_dhcp_info_name =		"Gets the Host name from the DHCPInfo object.";
const char *help_dhcp_info_ip =			"Gets the IP address of the DHCPInfo object.";

const char *help_netbios_info_name =		"Gets the Netbios name if the Flow is Netbios.";

const char *help_mqtt_info_topic =		"Gets the MQTT publish topic if the Flow is MQTT.";
 
const char *help_coap_info_uri =		"Gets the CoAP URI if the Flow is CoAP.";
const char *help_coap_info_host_name =		"Gets the CoAP Hostname if the Flow is CoAP."; 
const char *help_coap_info_matched_domain_name ="Gets the matched DomainName object."; 

const char *help_bitcoin_info_tx =		"Get the total number of Bitcoin transactions on the Flow.";
const char *help_bitcoin_info_blocks =		"Get the total number of Bitcoin blocks on the Flow.";
const char *help_bitcoin_info_rejects =		"Get the total number of Bitcoin rejects on the Flow.";
	
const char *help_dns_info_iter =		"Iterate over the IP addresses returned on the query response."; 
const char *help_dns_info_query_type =		"Gets the DNS query type number."; 
const char *help_dns_info_domain_name =		"Gets the DNS domain name."; 
const char *help_dns_info_matched_domain_name =	"Gets the matched DomainName object."; 
const char *help_dns_info_txid =		"Gets the transaction identifier of the DNS query."; 
const char *help_dns_info_ttl =			"Gets the minimun TTL value of the response."; 
const char *help_dns_info_rcode =		"Gets the response code of the response."; 

const char *help_ssl_info_server_name =		"Gets the SSL server name."; 
const char *help_ssl_info_issuer_name =		"Gets the SSL Issuer common name."; 
const char *help_ssl_info_cipher =		"Returns the identifier of the Cipher used."; 
const char *help_ssl_info_matched_domain_name =	"Gets the matched DomainName object."; 
const char *help_ssl_info_fingerprint = 	"Gets the TLS fingerprint of the client hello.";
const char *help_ssl_info_session_id =		"Gets the TLS session id of the connection if exists.";

const char *help_http_info_uri =		"Gets the HTTP URI if the Flow is HTTP.";
const char *help_http_info_host_name =		"Gets the HTTP Host if the Flow is HTTP."; 
const char *help_http_info_user_agent =		"Gets the HTTP UserAgent if the Flow is HTTP."; 
const char *help_http_info_content_type =	"Gets the HTTP Content Type if the Flow is HTTP."; 
const char *help_http_info_banned =		"Gets/Sets the Flow banned for no more analysis on the python side and release resources."; 
const char *help_http_info_matched_domain_name ="Gets the matched DomainName object."; 
const char *help_http_info_total_reqs =         "Returns the total number of requests of the flow.";
const char *help_http_info_total_res =          "Returns the total number of responses of the flow.";

const char *help_http_uri_set_callback =	"Gets/Sets a callback function for the matching set."; 
const char *help_http_uri_set_uris =		"Gets the total number of URIs on the set.";  
const char *help_http_uri_set_lookups =		"Gets the total number of lookups of the set.";  
const char *help_http_uri_set_lookups_in =	"Gets the total number of matched lookups of the set.";  
const char *help_http_uri_set_lookups_out =	"Gets the total number of non matched lookups of the set.";  
const char *help_http_uri_set_add_uri =		"Adds a URI to the HTTPUriSet.";  
const char *help_http_uri_set_show_uris =	"Shows the stored URIs by the HTTPUriSet.";

const char *help_sip_info_uri =			"Gets the SIP URI if the Flow is SIP."; 
const char *help_sip_info_from_name =		"Gets the SIP From if the Flow is SIP."; 
const char *help_sip_info_to_name =		"Gets the SIP To if the Flow is SIP."; 
const char *help_sip_info_via = 		"Gets the SIP Via if the Flow is SIP."; 

const char *help_smtp_info_mail_from =		"Gets the Mail From if the Flow is SMTP."; 
const char *help_smtp_info_mail_to = 		"Gets the Rcpt To if the Flow is SMTP."; 
const char *help_smtp_info_banned = 		"Gets or Sets the banned of the Flow."; 

const char *help_pop_info_user_name =		"Gets the user name of the POP session if the Flow is POP.";  

const char *help_imap_info_user_name =		"Gets the user name of the IMAP session if the Flow is IMAP.";  

const char *help_ssdp_info_uri = 		"Gets the SSDP URI if the Flow is SSDP."; 
const char *help_ssdp_info_host_name = 		"Gets the SSDP Host if the Flow is SSDP.";

const char *help_tcp_info_syns = 		"Return the total number of TCP syn packets of the Flow.";
const char *help_tcp_info_synacks = 		"Return the total number of TCP syn/ack packets of the Flow.";
const char *help_tcp_info_acks = 		"Return the total number of TCP ack packets of the Flow.";
const char *help_tcp_info_rsts = 		"Return the total number of TCP rst packets of the Flow.";
const char *help_tcp_info_fins = 		"Return the total number of TCP fin packets of the Flow.";
const char *help_tcp_info_pushs = 		"Return the total number of TCP push packets of the Flow.";
const char *help_tcp_info_state = 		"Return the state of the TCP Flow.";

const char *help_frequencies_dispersion =	"Returns the dispersion value of the Flow."; 
const char *help_frequencies_enthropy =		"Returns the enthopy value of the Flow.";  
const char *help_frequencies_get_freq_string =	""; 

const char *help_packet_frequencies_get_freq = 	"";

const char *help_domain_name_expresion = 	"Gets the domain expression."; 
const char *help_domain_name_name = 		"Gets the name of the domain."; 
const char *help_domain_name_matchs = 		"Gets the total number of matches of the domain."; 
const char *help_domain_name_callback = 	"Gets/Sets the callback of the domain."; 
const char *help_domain_name_http_uri_set = 	"Gets/Sets the HTTPUriSet used on this DomainName (only works on HTTP)."; 
const char *help_domain_name_regex_manager = 	"Gets/Sets the HTTP RegexManager used on this DomainName (only works on HTTP).";
const char *help_domain_name_http_uri_rm = 	"Gets/Sets the RegexManager used on this DomainName for matching URIs (only works on HTTP)."; 

const char *help_domain_name_mng_name = 	"Gets/Sets the name of the DomainNameManager object.";
const char *help_domain_name_mng_add_domain_n =	"Adds a DomainName by using the name and the domain name to the DomainNameManager."; 
const char *help_domain_name_mng_add_domain =	"Adds a DomainName object to the DomainNameManager."; 
const char *help_domain_name_mng_remove_dom = 	"Removes a DomainName object"; 
const char *help_domain_name_mng_remove_dom_n =	"Removes a DomainName by name."; 
const char *help_domain_name_mng_len = 		"Return the total number of DomainName objects on the DomainNameManager."; 
const char *help_domain_name_mng_show =		"Shows the DomainName objects"; 
const char *help_domain_name_mng_show_n =	"Shows the DomainName objects by name."; 
const char *help_domain_name_mng_show_matchs =	"Shows the DomainName objects that have been matched."; 
const char *help_domain_name_mng_reset =	"Reset the statistics of the DomainNameManager."; 

const char *help_adaptor_connect = 		"Method for connect to the database.";
const char *help_adaptor_insert =		"Method called when a new Flow is created."; 
const char *help_adaptor_update = 		"Method called when the Flow is updating.";
const char *help_adaptor_remove =		"Method called when the Flow is removed."; 

const char *help_ip_abstract_set_add_ip	=	"Adds a IP address to the set.";

const char *help_ip_set_name =			"Gets the name of the IPSet."; 
const char *help_ip_set_lookups =		"Gets the total number of lookups of the IPSet."; 
const char *help_ip_set_lookups_in =		"Gets the total number of matched lookups of the IPSet."; 
const char *help_ip_set_lookups_out =		"Gets the total number of non matched lookups of the IPSet."; 
const char *help_ip_set_callback = 		"Gets/Sets a function callback for the IPSet."; 
const char *help_ip_set_regex_manager = 	"Gets/Sets the RegexManager for this group of IP addresses.";
const char *help_ip_set_add_ip =		"Add a IP address to the IPSet.";
const char *help_ip_set_remove_ip =		"Removes a IP address from the IPSet.";
const char *help_ip_set_len = 			"Returns the total number of IP address on the IPSet.";
const char *help_ip_set_show =		        "Shows the IP addresses of the IPSet.";

const char *help_iprad_set_name =               "Gets the name of the IPRadixTree.";
const char *help_iprad_set_lookups =            "Gets the total number of lookups of the IPRadixTree.";
const char *help_iprad_set_lookups_in =         "Gets the total number of matched lookups of the IPRadixTree.";
const char *help_iprad_set_lookups_out =        "Gets the total number of non matched lookups of the IPRadixTree.";
const char *help_iprad_set_callback =           "Gets/Sets a function callback for the IPRadixTree.";
const char *help_iprad_set_regex_manager =      "Gets/Sets the RegexManager for this group of IP addresses.";
const char *help_iprad_set_add_ip =             "Add a IP address or network to the IPRadixTree.";
const char *help_iprad_set_remove_ip =          "Removes a IP address or network from the IPRadixTree.";
const char *help_iprad_set_len =                "Returns the total number of IP address covered on the IPRadixTree.";
const char *help_iprad_set_show =               "Shows the IP addresses and networks of the IPRadixTree.";
 
#ifdef HAVE_BLOOMFILTER

const char *help_ip_bloom_set_add_ip =		"Add a IP address to the IPBloomSet.";
const char *help_ip_bloom_set_callback = 	"Gets/Sets a function callback for the IPBloomSet."; 
const char *help_ip_bloom_set_len = 		"Returns the total number of IP address on the IPBloomSet.";

#endif // HAVE_BLOOMFILTER

const char *help_ip_set_manager_iter = 		"Iterate over the IPSets.";
const char *help_ip_set_manager_name =		"Gets/Sets the name of the IPSetManager object.";
const char *help_ip_set_manager_add_ip = 	"Adds a IPSet.";
const char *help_ip_set_manager_del_ip =	"Removes a IPSet by the reference.";
const char *help_ip_set_manager_del_ip_name = 	"Removes the first IPSet found by name.";
const char *help_ip_set_manager_show =		"Shows the IPSets.";
const char *help_ip_set_manager_show_name =	"Shows the IPSets by name.";
const char *help_ip_set_manager_len = 		"Return the total number of IPSets.";
const char *help_ip_set_manager_reset = 	"Reset the statistics of the IPSetManager object.";

const char *help_freq_group_tot_proc_flows =	"Returns the total number of computed Flows";
const char *help_freq_group_tot_comp_freq =	"Returns the total number of computed frequencies";
const char *help_freq_group_add_by_src_port =	"Adds a list of Flows and group them by source port.";
const char *help_freq_group_add_by_dst_port =	"Adds a list of Flows and group them by destination port.";
const char *help_freq_group_add_by_src_addr =	"Adds a list of Flows and group them by source IP address.";
const char *help_freq_group_add_by_dst_addr = 	"Adds a list of Flows and group them by destination IP address.";
const char *help_freq_group_add_by_dst_p_a =	"Adds a list of Flows and group them by destination IP address and port.";
const char *help_freq_group_add_by_src_p_a =	"Adds a list of Flows and group them by source IP address and port.";
const char *help_freq_group_compute =		"Computes the frequencies of the Flows.";
const char *help_freq_group_reset =		"Resets all the temporay memory used by the engine."; 
const char *help_freq_group_get_ref_flow_k =	""; 
const char *help_freq_group_get_ref_flow =	"Returns a list of the processed Flows by the FrequencyGroup."; 
const char *help_freq_group_add_all =           "Adds all the flows to the object that contains frequencies";
const char *help_freq_group_show =              "Shows the statistics of the frequency group";

const char *help_learn_flows_proc =		"Gets the total number of Flows processes by the LearnerEngine."; 
const char *help_learn_regex =			"Gets the generated regular expression."; 
const char *help_learn_agregate_flows = 	"Adds a list of Flows to be process."; 
const char *help_learn_compute = 		"Runs the engine."; 
const char *help_learn_reset = 			"Reset the engine."; 

const char *help_cache_total_items = 		"Returns the total number of items on the Cache object.";
const char *help_cache_total_acquires =		"Returns the total of number of acquires on the Cache.";
const char *help_cache_total_releases = 	"Returns the total number of releases objects on the Cache.";
const char *help_cache_total_fails =		"Returns the total number of fails on the Cache.";
const char *help_cache_dynamic_memory = 	"Gets/Sets if the memory is allocated dynamic or not.";
const char *help_cache_show = 			"Shows the Cache object.";
const char *help_cache_create = 		"Allocate items inside the Cache.";
const char *help_cache_destroy = 		"Free items inside the Cache.";
const char *help_cache_reset = 			"Reset the values of the total variables.";

#endif  // SRC_PYTHON_HELP_H_
